﻿<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<link href="styles.css" rel="Stylesheet" type="text/css" />
    <title>Untitled Page</title>
</head>
<body>
<h1>Search评分算法</h1>
<div class="description">
1.从queryString中解析出每个标签tags[]及其权值weights[],所有标签的权值之和为总分totalScore,totalScore*relevance为目标得分
2.遍历tags[]
2.1查询包含tags[i]的富描述,返回它们的UIDs[]
2.2更新富描述的得分,出现在该轮查询结果中的富描述全部加上weights[i]分
3.将所有富描述的得分从高到低排列,返回得分大于目标得分的富描述的UID.

例如:富描述1的包含"中国","北京"这两个标签,富描述2包含"中国"等标签,但不含"北京"这个标签.
查询字串为"name*0:中国*2,name*0:北京*1,0.5",则返回的结果应该是{1,2},因为富描述1包含"中国","北京"这两个标签,得分为2+1=3,富描述2只包含"中国",得分为2,目标得分为1.5分,按得分从高到低排列应该为{1,2}
如果查询字串为"name*0:中国*2,name*0:北京*1,0.8",则返回结果为{1},因为富描述1得分为3,富描述2得分为2,但目标得分为2.4,故只有富描述1符合要求.
</div>

<h1>GetTagJar评分算法</h1>
<div class="description">
1遍历输入标签组tags[]
1.1查询tags[i]的相关标签,related_tags[]
1.2遍历related_tags[]
1.2.1related_tags[j]在该轮的得分为相关度乘以tags[i]的权重
1.3更新标签的得分,出现的标签在该轮的得分累加到累计得分上去
2得分最高的标签的得分为总分totalScore,totalScore*relevance为目标得分,将所有标签的得分从高到低排列,返回得分大于目标得分的标签组生成的TagJar
</div>
</body>
</html>
